Keyword [CPN]
Wei S E, Ramakrishna V, Kanade T, et al. Convolutional pose machines[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 4724-4732.
1. Overview
论文将CNN与Pose Machine相结合,提出Convolutional Pose Machine (CPM)
- Multi-stage结构. 将stage_n的预测输入到stage_{n+1}中进行refine
- Intermediate supervised & end-to-end. 每个阶段的预测都计算loss。Forward完成后,各阶段loss一起回传. 解决gradient vanish问题
- 级联CNN. 实现long-range spatial modeling
1.1. 相关工作
- 使用CNN直接预测人体关键点. 没有保留空间不确定性,导致accuracy很低
- 论文中CPM使用heap map. 基于数据集中人体关键点gt构建grid,并在关键点的位置加上Gaussian分布,形成heap map。最后通过MSE计算loss
1.2. 数据集
- MPII. 16 key points, 全身(单人/多人)
- Extended Leeds Sports Dataset (LSP). 14 key points, 全身(单人)
- FLIC. 9 key points, 全身(单人)
1.3. 评价指标
- PCKh. 记头部框对角线长度距离为d,预测点与gt之间的距离小于d表示预测正确
- PCKh-0.5. 0.5d距离内表示预测正确
2. CPM
- stage_1的输入图像可以与后续stage的输入图像不同
- 每阶段预测结果(batch_size, body_part + 1, h’, w’)
2.1. Stage 1
- predicts part beliefs from only local image evidence.
- 虽然stage_1的预测结果较差,但能为后续stage的预测提供信息
2.2. Loss
MSE
2.3. Pytorch版本代码
Center Map (中心点的高斯分布). 训练阶段,数据集label直接给出中心点(或根据关键点坐标计算得出).
- 中心点计算方法(关键点最大最小坐标和,求平均)
- 根据中心点生成center map方法